package andestours.interfaz;

import java.io.PrintWriter;
import java.util.ArrayList;
import java.util.Date;

import javax.servlet.http.HttpServletRequest;

import andestours.mundo.AndesTours;
import andestours.mundo.PlanValue;

public class ServletPlan extends ServletTemplate {

	private static final long serialVersionUID = 1L;

	@Override
	public void imprimirContenido(HttpServletRequest request, PrintWriter out) throws Exception {
		if(request.getParameter("masVisitados") != null) {
			ArrayList<PlanValue> lista = AndesTours.getInstance().PlanMasVisitados();
			out.println("<center>RF1: dar destinos m&aacute;s visitados</center><br><br><br><table><th>Operacion<th>Objeto<tr>");
			for(int i=0; i<lista.size(); i++)
				out.println(lista.get(i).getOperacion() + "<td>" + lista.get(i).getObjeto());
			out.println("</table><br><br><br>Tiempo: ");
			Date inicio = new Date();
			AndesTours.getInstance().darDestinosMasVisitados();
			Date fin = new Date();
			out.println((inicio.getTime() - fin.getTime()) + " milisegundos.");
		}
		else if(request.getParameter("todos") != null) {
			ArrayList<PlanValue> lista = AndesTours.getInstance().PlanTodos();
			out.println("<center>RF1: dar todos los destinos</center><br><br><br><table><th>Operacion<th>Objeto<tr>");
			for(int i=0; i<lista.size(); i++)
				out.println(lista.get(i).getOperacion() + "<td>" + lista.get(i).getObjeto());
			out.println("</table><br><br><br>Tiempo: ");
			Date inicio = new Date();
			AndesTours.getInstance().darTodosLosDestinos();
			Date fin = new Date();
			out.println((inicio.getTime() - fin.getTime()) + " milisegundos.");
		}
		else if(request.getParameter("servicios") != null) {
			ArrayList<PlanValue> lista = AndesTours.getInstance().PlanServicios(Integer.parseInt(request.getParameter("codigo")), Integer.parseInt(request.getParameter("dinero")), Integer.parseInt(request.getParameter("diaIda")), Integer.parseInt(request.getParameter("mesIda")), Integer.parseInt(request.getParameter("anoIda")), Integer.parseInt(request.getParameter("diaVuelta")), Integer.parseInt(request.getParameter("mesVuelta")), Integer.parseInt(request.getParameter("anoVuelta")));
			out.println("<center>RF1: dar todos los destinos</center><br><br><br><table><th>Operacion<th>Objeto<tr>");
			for(int i=0; i<lista.size(); i++)
				out.println(lista.get(i).getOperacion() + "<td>" + lista.get(i).getObjeto());
			out.println("</table><br><br><br>Tiempo: ");
			Date inicio = new Date();
			AndesTours.getInstance().darServicios(Integer.parseInt(request.getParameter("codigo")), Integer.parseInt(request.getParameter("dinero")), Integer.parseInt(request.getParameter("diaIda")), Integer.parseInt(request.getParameter("mesIda")), Integer.parseInt(request.getParameter("anoIda")), Integer.parseInt(request.getParameter("diaVuelta")), Integer.parseInt(request.getParameter("mesVuelta")), Integer.parseInt(request.getParameter("anoVuelta")));
			Date fin = new Date();
			out.println((inicio.getTime() - fin.getTime()) + " milisegundos.");
		}
		else if(request.getParameter("transporte") != null) {
			ArrayList<PlanValue> lista = AndesTours.getInstance().PlanTransporte(Integer.parseInt(request.getParameter("codigo")), Integer.parseInt(request.getParameter("dinero")));
			out.println("<center>RF1: dar todos los destinos</center><br><br><br><table><th>Operacion<th>Objeto<tr>");
			for(int i=0; i<lista.size(); i++)
				out.println(lista.get(i).getOperacion() + "<td>" + lista.get(i).getObjeto());
			out.println("</table><br><br><br>Tiempo: ");
			Date inicio = new Date();
			AndesTours.getInstance().darMediosTransporte(Integer.parseInt(request.getParameter("codigo")), Integer.parseInt(request.getParameter("dinero")));
			Date fin = new Date();
			out.println((inicio.getTime() - fin.getTime()) + " milisegundos.");
		}
	}

	

}